{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Download any OSM Geospatial Entities with OSMnx\n",
    "\n",
    "Author: [Geoff Boeing](https://geoffboeing.com/)\n",
    "\n",
    "More info:\n",
    "\n",
    "  - [Overview of OSMnx](http://geoffboeing.com/2016/11/osmnx-python-street-networks/)\n",
    "  - [Documentation and install instructions](https://osmnx.readthedocs.io)\n",
    "  - [Examples, demos, tutorials](https://github.com/gboeing/osmnx-examples)\n",
    "  - [Journal article and citation info](http://geoffboeing.com/publications/osmnx-complex-street-networks/)\n",
    "  - [GitHub repo](https://github.com/gboeing/osmnx)\n",
    "  \n",
    "This notebook provides a quick tour of using OSMnx to download any geospatial entites/objects from OpenStreetMap as a geopandas GeoDataFrame."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.16.0'"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import osmnx as ox\n",
    "%matplotlib inline\n",
    "ox.config(use_cache=True, log_console=True)\n",
    "ox.__version__"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Use the `geometries` module to download entities, such as local amenities, points of interest, or building footprints, and turn them into a GeoDataFrame: [see docs](https://osmnx.readthedocs.io/en/stable/osmnx.html#module-osmnx.geometries).\n",
    "\n",
    "To query, pass a `tags` dict where keys are OSM tags. The dict's values can be either:\n",
    "  1. `True` to retrieve all OSM objects with this tag, regardless of its value\n",
    "  2. a single value as a string to retrieve all OSM objects with this tag:value combination\n",
    "  3. a list of string values to retrieve all OSM objects where this tag matches any of these values\n",
    "\n",
    "Pass multiple dict key:value pairs to retrieve the union (not intersection) of these pairs."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(50, 45)"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# get all building footprints in some neighborhood\n",
    "# `True` means retrieve any object with this tag, regardless of value\n",
    "place = 'Bunker Hill, Los Angeles, California'\n",
    "tags = {'building': True}\n",
    "gdf = ox.geometries_from_place(place, tags)\n",
    "gdf.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = gdf.plot()\n",
    "_ = ax.axis('off')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(4, 8)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# get all the parks in some neighborhood\n",
    "# constrain acceptable `leisure` tag values to `park`\n",
    "tags = {'leisure': 'park'}\n",
    "gdf = ox.geometries_from_place(place, tags)\n",
    "gdf.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(98, 43)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# get everything tagged amenity,\n",
    "# and everything tagged landuse = retail or commercial,\n",
    "# and everything tagged highway = bus_stop\n",
    "tags = {'amenity' : True,\n",
    "        'landuse' : ['retail', 'commercial'],\n",
    "        'highway' : 'bus_stop'}\n",
    "gdf = ox.geometries_from_place('Piedmont, California, USA', tags)\n",
    "gdf.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>unique_id</th>\n",
       "      <th>osmid</th>\n",
       "      <th>element_type</th>\n",
       "      <th>amenity</th>\n",
       "      <th>name</th>\n",
       "      <th>geometry</th>\n",
       "      <th>brand</th>\n",
       "      <th>brand:wikidata</th>\n",
       "      <th>brand:wikipedia</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>node/2810181540</td>\n",
       "      <td>2810181540</td>\n",
       "      <td>node</td>\n",
       "      <td>bank</td>\n",
       "      <td>Citibank</td>\n",
       "      <td>POINT (-122.23256 37.82515)</td>\n",
       "      <td>Citibank</td>\n",
       "      <td>Q857063</td>\n",
       "      <td>en:Citibank</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>86</th>\n",
       "      <td>way/276424028</td>\n",
       "      <td>276424028</td>\n",
       "      <td>way</td>\n",
       "      <td>bank</td>\n",
       "      <td>Bank of America</td>\n",
       "      <td>POLYGON ((-122.23258 37.82491, -122.23252 37.8...</td>\n",
       "      <td>Bank of America</td>\n",
       "      <td>Q487907</td>\n",
       "      <td>en:Bank of America</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>89</th>\n",
       "      <td>way/285549437</td>\n",
       "      <td>285549437</td>\n",
       "      <td>way</td>\n",
       "      <td>bank</td>\n",
       "      <td>Wells Fargo</td>\n",
       "      <td>POLYGON ((-122.23147 37.82466, -122.23134 37.8...</td>\n",
       "      <td>Wells Fargo</td>\n",
       "      <td>Q744149</td>\n",
       "      <td>en:Wells Fargo</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          unique_id       osmid element_type amenity             name  \\\n",
       "7   node/2810181540  2810181540         node    bank         Citibank   \n",
       "86    way/276424028   276424028          way    bank  Bank of America   \n",
       "89    way/285549437   285549437          way    bank      Wells Fargo   \n",
       "\n",
       "                                             geometry            brand  \\\n",
       "7                         POINT (-122.23256 37.82515)         Citibank   \n",
       "86  POLYGON ((-122.23258 37.82491, -122.23252 37.8...  Bank of America   \n",
       "89  POLYGON ((-122.23147 37.82466, -122.23134 37.8...      Wells Fargo   \n",
       "\n",
       "   brand:wikidata     brand:wikipedia  \n",
       "7         Q857063         en:Citibank  \n",
       "86        Q487907  en:Bank of America  \n",
       "89        Q744149      en:Wells Fargo  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# view just the banks\n",
    "gdf[gdf['amenity']=='bank'].dropna(axis=1, how='any')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>unique_id</th>\n",
       "      <th>osmid</th>\n",
       "      <th>element_type</th>\n",
       "      <th>name</th>\n",
       "      <th>geometry</th>\n",
       "      <th>bus</th>\n",
       "      <th>highway</th>\n",
       "      <th>network</th>\n",
       "      <th>public_transport</th>\n",
       "      <th>ref</th>\n",
       "      <th>route_ref</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>node/4071030440</td>\n",
       "      <td>4071030440</td>\n",
       "      <td>node</td>\n",
       "      <td>Park Boulevard &amp; Saint James Drive</td>\n",
       "      <td>POINT (-122.21517 37.81248)</td>\n",
       "      <td>yes</td>\n",
       "      <td>bus_stop</td>\n",
       "      <td>AC Transit</td>\n",
       "      <td>platform</td>\n",
       "      <td>57544</td>\n",
       "      <td>V;33;688</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>node/5844909127</td>\n",
       "      <td>5844909127</td>\n",
       "      <td>node</td>\n",
       "      <td>Park Boulevard &amp; Estates Drive</td>\n",
       "      <td>POINT (-122.21392 37.81363)</td>\n",
       "      <td>yes</td>\n",
       "      <td>bus_stop</td>\n",
       "      <td>AC Transit</td>\n",
       "      <td>platform</td>\n",
       "      <td>54866</td>\n",
       "      <td>V;33;688</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>node/5845148873</td>\n",
       "      <td>5845148873</td>\n",
       "      <td>node</td>\n",
       "      <td>Hampton Road &amp; Sandringham Road</td>\n",
       "      <td>POINT (-122.21492 37.81822)</td>\n",
       "      <td>yes</td>\n",
       "      <td>bus_stop</td>\n",
       "      <td>AC Transit</td>\n",
       "      <td>platform</td>\n",
       "      <td>53832</td>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>node/5845152990</td>\n",
       "      <td>5845152990</td>\n",
       "      <td>node</td>\n",
       "      <td>Hampton Road &amp; Sandringham Road</td>\n",
       "      <td>POINT (-122.21459 37.81818)</td>\n",
       "      <td>yes</td>\n",
       "      <td>bus_stop</td>\n",
       "      <td>AC Transit</td>\n",
       "      <td>platform</td>\n",
       "      <td>50830</td>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>node/5845153014</td>\n",
       "      <td>5845153014</td>\n",
       "      <td>node</td>\n",
       "      <td>Hampton Road &amp; Seaview Avenue</td>\n",
       "      <td>POINT (-122.22303 37.81763)</td>\n",
       "      <td>yes</td>\n",
       "      <td>bus_stop</td>\n",
       "      <td>AC Transit</td>\n",
       "      <td>platform</td>\n",
       "      <td>53865</td>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          unique_id       osmid element_type  \\\n",
       "10  node/4071030440  4071030440         node   \n",
       "13  node/5844909127  5844909127         node   \n",
       "14  node/5845148873  5845148873         node   \n",
       "15  node/5845152990  5845152990         node   \n",
       "16  node/5845153014  5845153014         node   \n",
       "\n",
       "                                  name                     geometry  bus  \\\n",
       "10  Park Boulevard & Saint James Drive  POINT (-122.21517 37.81248)  yes   \n",
       "13      Park Boulevard & Estates Drive  POINT (-122.21392 37.81363)  yes   \n",
       "14     Hampton Road & Sandringham Road  POINT (-122.21492 37.81822)  yes   \n",
       "15     Hampton Road & Sandringham Road  POINT (-122.21459 37.81818)  yes   \n",
       "16       Hampton Road & Seaview Avenue  POINT (-122.22303 37.81763)  yes   \n",
       "\n",
       "     highway     network public_transport    ref route_ref  \n",
       "10  bus_stop  AC Transit         platform  57544  V;33;688  \n",
       "13  bus_stop  AC Transit         platform  54866  V;33;688  \n",
       "14  bus_stop  AC Transit         platform  53832        33  \n",
       "15  bus_stop  AC Transit         platform  50830        33  \n",
       "16  bus_stop  AC Transit         platform  53865        33  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# view just the bus stops\n",
    "gdf[gdf['highway']=='bus_stop'].dropna(axis=1, how='any').head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python (ox)",
   "language": "python",
   "name": "ox"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
